home *** CD-ROM | disk | FTP | other *** search
-
- D51 8051/8052 Disassembler - Copyright 1990 by Jeffery L. Post
- Version 1.0 - June 24, 1990
- Version 1.1 - Aug 4, 1990
-
- D51 is a cross disassembler for MSDOS machines. It generates an 8051
- assembly source code file from either a binary file or an Intel hex file.
- The executable code for D51 is public domain. The C source code for this
- program is NOT public domain but may be purchased from the author for
- personal or educational use only. To obtain the C source on a standard
- 360K MSDOS 5 1/4" diskette, send $10 cash, check, or money order to:
-
- Jeffery L. Post
- 22726 Benner Ave.
- Torrance, CA 90505
-
- The executable program may be freely distributed through public domain
- channels (bulletin boards, PD software houses, friends, etc) provided
- this documentation file is included.
-
- Command line format is: d51 filename [options]. The filename should
- be entered without an extension. The default extension is HEX. If the 'b'
- (binary file) option is used, the default extension is BIN. The 'd' (data)
- option will append a comment field to each assembly line consisting of the
- address of the instruction and hex and ascii representations of the code
- byte(s). Option entry is freeform: 'db' 'd b' '-bd' '-b -d' all mean the
- same thing.
-
- Version 1.1 - Now allows user to specify a hexadecimal offset to be
- added to the program data. This is done by using the 'x' option on the
- command line, ie: 'd51 file -d b x100'. The hexadecimal offset (100h in
- this example) will be added to all data read from either a .bin or .hex
- file. While this is not very useful when applied to a .hex file, it may
- be of critical importance in some .bin files (for example: a program for
- a single processor contained in two or more eproms). If used, the x option
- must be the last specified in the command line.
-
- D51 does three passes over the code being disassembled. The first pass
- searches for opcodes that reference program locations (such as jumps and
- calls) so that labels may be generated in the source listing. Pass two does
- the actual disassembly and writes source lines to the output file. Pass three
- then searches for references to locations outside of the initialized program
- space or to locations that lie in the middle of opcodes and generates equate
- statements for them.
-
- All three passes display the 'current pc' as they do their work. Despite
- the three pass design of D51, it is a very fast disassembler. It will dis-
- assemble an 8K binary file, outputing a 58K assembly source file, in about
- 20 seconds on an 8 MHz machine.
-
- D51 is an 'intelligent' disassembler. Since uninitialized space in a
- program will normally be filled with either 0 or 0ffh, blocks of such data
- will not be disassembled as page after page of NOP or MOV A,R7. They will
- be skipped over and an ORG statement will be inserted in the assembly output
- when the next initialized code is encountered.
-
- References to special function registers will generate names for the
- appropriate register, ie: 75 98 20 will be disassembled as 'mov scon,#20h'
- instead of just 'mov 98h,#20h'. Likewise, references to sfr bits will
- produce names: C2 AF disassembles as 'clr ea', not 'clr ie.7'. As a conven-
- ience to 8051 programmers, direct references to registers generate names
- for the register. For example, F5 12 becomes 'mov rb2r2,a' to indicate r2
- of register bank 2 at address 12h. This obviously requires that the programmer
- add an equate statement to the file before sending it back through an 8051
- cross assembler.
-
- Not all cross assemblers recognize the additional special function
- registers of all 8052 family members. Since D51 generates the proper sfr
- name for all family members known to the author, the programmer may have
- to add some equates defining such sfrs, ie:
- t2con equ 0c0h
- csr equ 0e8h
- and equates for the bits in the additional sfrs:
- tf2 bit t2con.7
- mb0 bit csr.6
-
- Despite all it's wonderfulness, D51 does have some drawbacks. Chief among
- them is that it does not try to analyze program flow, and therefore cannot
- tell the difference between valid executable code, data tables, and/or ascii
- data. This can lead to some strange looking disassembly when ascii data or
- address tables are encountered. The 'd' option is useful for identifying such
- problems.
-
- Comments, suggestions, bug reports, praise, or diatribes of any kind may
- be sent to the author at the address given above.
-
-
-
- ----------------end-of-author's-documentation---------------
-
- Software Library Information:
-
- This disk copy provided as a service of
-
- Public (software) Library
-
- We are not the authors of this program, nor are we associated
- with the author in any way other than as a distributor of the
- program in accordance with the author's terms of distribution.
-
- Please direct shareware payments and specific questions about
- this program to the author of the program, whose name appears
- elsewhere in this documentation. If you have trouble getting
- in touch with the author, we will do whatever we can to help
- you with your questions. All programs have been tested and do
- run. To report problems, please use the form that is in the
- file PROBLEM.DOC on many of our disks or in other written for-
- mat with screen printouts, if possible. PsL cannot debug pro-
- programs over the telephone, though we can answer questions.
-
- Disks in the PsL are updated monthly, so if you did not get
- this disk directly from the PsL, you should be aware that the
- files in this set may no longer be the current versions. Also,
- if you got this disk from another vendor and are having prob-
- lems, be aware that some files may have become corrupted or
- lost by that vendor. Get a current, working disk from PsL.
-
- For a copy of the latest monthly software library newsletter
- and a list of the 2,000+ disks in the library, call or write
-
- Public (software) Library
- P.O.Box 35705 - F
- Houston, TX 77235-5705
-
- 1-800-2424-PSL
- MC/Visa/AmEx
-
- Outside of U.S. or in Texas
- or for general information,
- Call 1-713-524-6394
-
- PsL also has an outstanding
- catalog for the Macintosh.
-